前面講了一長串的Model Binding!!
(其實我也沒想到會打到這麼多篇~~
現在來講講Model資料驗證的部分~
MVC提供了很多資料驗證的方式~可以寫在Model內
在ModelBinding前進行資料驗證~
例如"資料長度驗證","必填欄位驗證","email格式驗證"...
我剛學習MVC的時候(其實就上個月),還真的蠢蠢的寫在Model裡面~
寫的嘔心瀝血~洋洋灑灑~
然後某次更動了資料庫欄位後(其實就上禮拜...)~按下了"從資料庫更新模型"之後...
我的嘔心瀝血~我的洋洋灑灑~~就這樣隨風而逝了.....
我當下的表情真的是...Q口Q"我的資料驗證呢?我的DisplayName呢?"
好的於是經過這次教訓
爬了文翻了書終於發現要讓驗證不消失~就必須要另外寫在部分類別內!!
所以有了這篇~
這篇簡單的紀錄一下如何創建Model的部分類別~~~~
提供你一個可以盡情寫資料驗證的地方~~
再也不用怕更新模型後驗證消失QQ
設置部分類別的步驟如下~
[MetadataType(typeof(內部類別))]
屬性,這屬性是將Model與內部類別產生關連好像寫了很多又複雜~
直接看範例會比較簡單!!~
namespace demoApp.Models
{
[MetadataType(typeof(PeopleMD))]
public partial class People
{
public class PeopleMD
{
[DisplayName("姓名")]
public string Name{get;set;}
[DisplayName("身高")]
public int Height{get;set;}
}
}
}
簡單來說~最後的成果要長成這樣就對了!!
重點是要記得把namespace最後面的".Partials"刪掉
要跟目標的Model同一層~才能關聯到~
後面再來寫寫幾種常用的資料驗證格式